package com.sdhs.costcontrol.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdhs.common.annotation.Excel;
import com.sdhs.common.core.domain.BaseEntity;
import com.sdhs.myproject.domain.GcMyprojectContractInformation;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 成本控制--采购计划对象 gc_control_purchase_plan
 *
 * @author andong
 * @date 2025-03-13
 */
@Data
public class GcControlPurchasePlan extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 采购计划主键
     */
    private Long id;

    /**采购计划id*/
    private Long planId;
    /**采购数量*/
    private BigDecimal purchaseQuantity;
    /**到货数量*/
    private BigDecimal arrivalQuantity;
    /**确认类型*/
    private String planType;
    /**
     * 关联项目id
     */
    @Excel(name = "关联项目id")
    private Long projectId;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNumber;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /**
     * 采购计划名称
     */
    @Excel(name = "采购计划名称")
    private String purchasePlanName;

    /**
     * 填报日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "填报日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseTime;

    /**
     * 采购金额
     */
    @Excel(name = "采购金额")
    private BigDecimal purchaseMoney;

    /**
     * 提交人姓名
     */
    @Excel(name = "提交人姓名")
    private String submitNickName;

    /**
     * 提交人用户名
     */
    @Excel(name = "提交人用户名")
    private String submitUserName;

    /**
     * 提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submitTime;

    /**
     * 审批状态
     */
    @Excel(name = "审批状态")
    private String approvalStatus;

    /**
     * 流程实例ID
     */
    @Excel(name = "流程实例ID")
    private String instanceId;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String creater;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    private String updater;

    /**
     * 是否删除
     */
    @Excel(name = "是否删除")
    private String isDelete;

    /**
     * 计划类型
     */
    @Excel(name = "计划类型")
    private String procurementType;

    /**
     * 总金额
     */
    @Excel(name = "总金额")
    private String amountPayment;

    /**
     * 清单列表对象
     */
    @Excel(name = "总金额")
    private List<GcControlPlanList> gcControlPlanList;

    /**采购确认对象*/
    private List<GcControlConfirmationPurchase> controlConfirmationPurchaseList;
    /**
     * 确认id集合
     */
    @Excel(name = "确认id")
    private String purchaseIds;
}
